package com.ruoyi.cart.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 订单对象 shop_order
 *

 * @date 2023-07-20
 */
public class Order extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 订单编号 */
    private Long orderId;

    /** 商铺编号 */
    @Excel(name = "商铺编号")
    private Long shopsId;

    /** 商品编号 */
    @Excel(name = "商品编号")
    private Long productId;

    /** 用户编号 */
    @Excel(name = "用户编号")
    private Long userId;

    /** 优惠券编号 */
    @Excel(name = "优惠券编号")
    private Long couponId;

    /** 商品数量 */
    @Excel(name = "商品数量")
    private Long productCount;

    /** 支付方式 */
    @Excel(name = "支付方式")
    private String payType;

    /** 配送方式 */
    @Excel(name = "配送方式")
    private String sendType;

    /** 物流单号 */
    @Excel(name = "物流单号")
    private Long sendId;

    /** 收货地址 */
    @Excel(name = "收货地址")
    private String receiveLocal;

    /** 用户留言 */
    @Excel(name = "用户留言")
    private String userComment;

    /** 应付金额 */
    @Excel(name = "应付金额")
    private Long meet;

    /** 实付金额 */
    @Excel(name = "实付金额")
    private Long actualPayment;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private String status;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 发货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deliveryTime;

    /** 收货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "收货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date receivingTime;

    /** 修改人 */
    @Excel(name = "修改人")
    private Long modifiedBy;

    public void setOrderId(Long orderId)
    {
        this.orderId = orderId;
    }

    public Long getOrderId()
    {
        return orderId;
    }
    public void setShopsId(Long shopsId)
    {
        this.shopsId = shopsId;
    }

    public Long getShopsId()
    {
        return shopsId;
    }
    public void setProductId(Long productId)
    {
        this.productId = productId;
    }

    public Long getProductId()
    {
        return productId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setCouponId(Long couponId)
    {
        this.couponId = couponId;
    }

    public Long getCouponId()
    {
        return couponId;
    }
    public void setProductCount(Long productCount)
    {
        this.productCount = productCount;
    }

    public Long getProductCount()
    {
        return productCount;
    }
    public void setPayType(String payType)
    {
        this.payType = payType;
    }

    public String getPayType()
    {
        return payType;
    }
    public void setSendType(String sendType)
    {
        this.sendType = sendType;
    }

    public String getSendType()
    {
        return sendType;
    }
    public void setSendId(Long sendId)
    {
        this.sendId = sendId;
    }

    public Long getSendId()
    {
        return sendId;
    }
    public void setReceiveLocal(String receiveLocal)
    {
        this.receiveLocal = receiveLocal;
    }

    public String getReceiveLocal()
    {
        return receiveLocal;
    }
    public void setUserComment(String userComment)
    {
        this.userComment = userComment;
    }

    public String getUserComment()
    {
        return userComment;
    }
    public void setMeet(Long meet)
    {
        this.meet = meet;
    }

    public Long getMeet()
    {
        return meet;
    }
    public void setActualPayment(Long actualPayment)
    {
        this.actualPayment = actualPayment;
    }

    public Long getActualPayment()
    {
        return actualPayment;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setPayTime(Date payTime)
    {
        this.payTime = payTime;
    }

    public Date getPayTime()
    {
        return payTime;
    }
    public void setDeliveryTime(Date deliveryTime)
    {
        this.deliveryTime = deliveryTime;
    }

    public Date getDeliveryTime()
    {
        return deliveryTime;
    }
    public void setReceivingTime(Date receivingTime)
    {
        this.receivingTime = receivingTime;
    }

    public Date getReceivingTime()
    {
        return receivingTime;
    }
    public void setModifiedBy(Long modifiedBy)
    {
        this.modifiedBy = modifiedBy;
    }

    public Long getModifiedBy()
    {
        return modifiedBy;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("orderId", getOrderId())
            .append("shopsId", getShopsId())
            .append("productId", getProductId())
            .append("userId", getUserId())
            .append("couponId", getCouponId())
            .append("productCount", getProductCount())
            .append("payType", getPayType())
            .append("sendType", getSendType())
            .append("sendId", getSendId())
            .append("receiveLocal", getReceiveLocal())
            .append("userComment", getUserComment())
            .append("meet", getMeet())
            .append("actualPayment", getActualPayment())
            .append("status", getStatus())
            .append("createTime", getCreateTime())
            .append("payTime", getPayTime())
            .append("deliveryTime", getDeliveryTime())
            .append("receivingTime", getReceivingTime())
            .append("modifiedBy", getModifiedBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
